This invention relates to microcomputer systems, and more particularly to the use of a sixteen bit microcomputer with standard eight bit bus arrangement and memory boards.
One of the most favorable factors in the development of the home or personal computer industry is de facto standardization of the bus arrangement used to connect one printed circuit board to another. This standard, which is fairly widely accepted, is the "Altair" or "S-100" bus used in the original home computer kit, the Altair 8800. The S-100 bus contains one hundred conductors, many of which are not used or not assigned at present. Certain pins or conductors are designated for power supplies, clocks and ground, others for various interrupts and controls such as WAIT, INTERRUPT ACKNOWLEDGE, MEMORY WRITE, HOLD, etc. Sixteen pins are designated for the memory address, allowing 64K bytes of memory to be directly accessed. Separate unidirectional eight bit data pins are provided, eight Data In pins and eight Data Out pins. This bus system was built for the 8080 eight bit microprocessor, which is the most widely used at present, but it can be used with other eight bit microprocessor parts. Several manufacturers of microcomputers use the S-100 bus, and dozens of manufacturers of microcomputer boards use the S- 100 to make hundreds of standard parts such as various types of memory boards as well as processor boards.
The Proceedings of the IEEE, February 1978, p. 117, in an article entitled "Low-Cost Microcomputing: The Personal Computer and Single-Board Revolutions", states:
"The Altair 8800 and S100 Bus: The original MITS Altair 8800 kit . . . featured . . . 8080 central processing unit (CPU) . . . and a 100 line bus (known as the Altair or `S100" bus). The bus allows expansion memory and peripherals to be connected. Expansion kits included additional memory, real-time clock, and vectored interrupt cards 11.
"The 100-line Altair bus has been widely copied. The bus data width is 8 bits, with separate lines for input and output. 65,536 bytes of memory may be addressed. Fourteen lines remain unused, and extensions have been proposed . . . Dozens of manufacturers offer Altair plug-compatible modules including READ-WRITE RAM, READ-ONLY memory (ROM) and combination RAM/ROM cards. Compatible EPROM programmers are available for the ultraviolet-Erasable, reProgrammable Read Only Memories (EPROM's) used for nonvolatile storage. S100 interface cards will drive black-and-white video displays, color video displays, magnetic cassette tape controllers, real-time clocks, and parallel and serial digital input/output (I/O). There are Altair-compatible controllers for flexible disks such as the mini-floppy (approximately 64K bytes), standard floppy (256 K bytes), and even for Calcomp Trident hard disks (80 000 K bytes). Besides digital-to-analog and analog-to-digital converters, there are S100-compatible speech and music synthesizers, modems for communication via telephones, video camera controllers, and kits for experimenting with speech recognition."
Sixteen bit microprocessors employ a sixteen bit bidirectional data bus which obviously is not directly compatible with the two eight bit unidirectional data bus sets in the S-100. A sixteen bit processor of course uses a sixteen bit instruction word which is of many times more capability than an eight bit instruction word. Arithmetic operations can be performed in sixteen bit machines in from one third to one tenth the instruction words needed in eight bit machines. The cost of generating software is directly related to the number of statements or lines of code needed, so if the number of statements needed is halved, the cost is likewise halved. Further, sixteen bit processors often contain additional features such as more flexible addressing modes and more interrupt capability. The TMS9900 sixteen bit processor manufactured by the assignee hereof, Texas Instruments, has the added features of hardware multiply and divide instructions, multiple sets of sixteen general purpose registers and context switching which allows rapid interrupt response and user extension of the hardware instruction set. And so, many designers seek to employ sixteen bit processors in place of the older but widely accepted eight bit processors.
Various interconnect arrangements have been proposed for interfacing a sixteen bit processor with the eight bit S-100 bus. Certainly, additional ones of the unused pins could be employed, producing two sixteen bit unidirectional buses. This would not be desirable because the system would not be compatible with the many available memory boards now on the market, and further a user could not use any of his existing boards if he wished to upgrade to a sixteen bit system. Compatibility can be achieved by forcing the sixteen bit processor to handle data input/output to the memory boards in eight bit bytes instead of sixteen bit words, but this sacrifices much of the advantage of using a sixteen bit processor in the first place, since each memory access is twice as long. See Journal of West Coast Computer Faire, March 1978, p. 394-401, and BYTE Magazine, March 1978, p. 148.
It is the principal object of this invention to provide a microcomputer system wherein the board-to-board connectors employ a standardized bus which has a word length of fewer bits than that of the data bus of the processor chip.
Another object is to provide an interconnection arrangement wherein a sixteen bit microprocessor can be used with existing eight bit memory boards having a standardized bus, particularly without sacrificing the speed inherent in a more powerful processor.